本篇要說明的是在需求確認之後,要決定什麼工具來開發。這邊分成前臺和後臺的部份,簡述這些語言在整個網站中的功能,但是詳細的教學還請請教Google大神。這裡選擇的都是開源程式(Open Source),以及跨平台,這些條件為首要挑選依據。
前臺(Front-End)
Vue.js: 使用版本:2.0
簡介
這是一個最近很流行的Javascript的Framework,是屬於「progressive framework」(https://vuejs.org/v2/guide/ )的框架。它是用渲染的方式讓資料彼此之間可以直接做改變,不用像是JQuery控制很多如ID
、Name
、Class
等屬性,甚至有些動作可以直接使用或是傳遞參數。和JQuery最明顯不同的是,Vue有個Component
,這個有點像是物件的概念,有個template存在,增加程式碼的重複使用性,減少程式的編寫。但是這個東西卻很難懂,我在裡面困了很久。
今天在V2版的文件看到官方說:
官方指南假设你已有 HTML、CSS 和 JavaScript 中级前端知识。如果你是全新的前端开发者,将框架作为你的第一步可能不是最好的主意——掌握好基础知识再来!之前有其他框架的使用经验是有帮助的,但不是必需的。
難怪我會卡很久...
功能
這套javascript將會是這個網站的主軸,它會掌控所有動作,包含載入頁面、上傳資料、登入等等畫面,都是由Vue.js負責。所以說是核心也不為過!
Semantic UI: 使用版本:2.2
簡介
Semantic UI 是個CSS和Javascript的套件,就是跟現在火紅的Bootstrap以及先前流行的JQuery UI功能大同小異,但是細節的操作不太相同。
功能
而這個套件也就是當做網站的皮,用這個可以快速建立網站的外觀,不用花太多心思在思考樣式的CSS要如何編排,它就有個模組給我們使用
後臺 (Back-End)
Python: 使用版本:3.5.2
簡介
Python這幾年一直都很流行,因為他語法簡單,使用人數一直很多所以社群或是網路上的資源(教學或是套件)很多,因而歷久不衰。
功能
將會成為網站後臺的程式語法,主要用來接收前臺資料,經過處理進入後臺;或是從資料庫取得資料整理後傳送至前臺。是個資料處理和前臺(javascript)與資料庫的橋樑。
Flask: 使用版本:2.2
簡介
是個微型的server(microframework),簡單來說就是一個可以持續監聽並跑Python的框架(Framework)。它可以當做Web Server來做,但是卻僅僅實現核心作業而已。它的優點:輕巧、快速、簡單的架起服務
功能
這邊著墨於它可以監聽Front-End的要求,根據這個要求再執行Python程式,進而與資料庫連線。並且可以把資料回傳至Front-End。它的寫法快速且彈性大,這個部分會在之後說明。
Server
Nginx:使用版本:1.10.2
簡介
是一個網站伺服器,也就是像是IIS、Apache一樣的web server,但是他更為輕巧。Wiki上面寫說效率好、記憶體用得少,因為沒有研究,所以無法提出使用心得...
功能
為一個管理server port的工具,它可以根據port、參數選擇要執行的檔案或服務。後者與Flask有相似功能,但是Nginx的彈性看似比Flask大(請原諒我沒有時間深究@@)。
MySQL:使用版本:5.7.16
簡介
是個開源的關聯式資料庫。現在為Oracle旗下的產品,但是仍是開源的方式在市場上。這個算是臺灣開源資料庫中最為流行的,當然在世界中也很流行。大概是因為WordPress和Joomla的推波助瀾,所以使用人數很多,社群也很龐大。對於想使用關聯式資料庫,MySQL是個不錯的選擇,網路資源多,而且操作工具也很方便。
功能
就是符合它的功能:當一個資料庫(這不是廢話嗎?)。
以上是不負責任的簡介XD
有錯誤的話,或是不懂的歡迎討論,畢竟沒有每個都深入研究,難免會有錯誤。
不過教學相長,自己也學會了許多:D
參考:
明天淺談開發工具